Learning Outcomes

On completion of this module, I will be able to:

1. Identify and manage security risks as part of a software development project.

2. Critically analyse development problems and determine appropriate methodologies, tools and techniques (including program design and development) to solve them.

3. Design and develop computer programs to produce a solution that meets the design brief and critically evaluate solutions that are produced.

4. Systematically develop and implement the skills required to be effective member of a development team in a virtual professional environment, adopting real-life perspectives on team roles and organisation.

Group Project Meeting Minutes

We kept minutes for each of our meetings during the project setup. Meetings after coding began were not minuted as we could use our Kanban board to document progress. Links to meeting minutes are listed below.

1. Meeting 1 - Project Kickoff: PDF here

2. Meeting 2 - High Level Design Decisions: PDF here

3. Meeting 3 - First draft of Assignment Document: PDF here

4. Meeting 4 - Assignment Delegation of Outstanding Tasks: PDF here

5. Meeting 5 - Start Coding: PDF here

Artifacts

A selection of writings, diagrams and coding challenges completed during the module presented in two unit sections:

 

Units 1 and 2

Post: SQL Injection PDF here

Collaborative Discussion 1: OWASP VulnerabilitiesComment on Man-in-the-Middle attacks and Reflection

Blog Post Text here

Seminar 1 Preparation: Making Scrum SDLC Secure PDF here

 

Units 3 and 4

Codio Activity: Threading PDF here

Discussion: Is Python a Secure Language? Slack Channel Discussion

Codio Activity: Towers of Hanoi Code here

Discussion: Regex, Evil Regex and ReDOS PDF here

Seminar 2 Preparation: Postcode REGEX Code here

 

Units 5 and 6

Seminar 3 Preparation: Linting PDF here

Submitted design document - links below in the Assignments section

 

Units 7 and 8

Simple Python Shell Code here

Encryption Reverse Cypher Code here and Caesar Cypher Code here and Xor Encryption Code here

Collaborative Discussion 2: TrueCrypt PDF here

 

Units 9 and 10

Continued Final Project Development Slack Discussions here

No artifacts - we did give a presentation of our api at the seminar, but it was a live demo with no slides/screenshots

 

Units 11 and 12

Made presentation of our application and submitted assignment - links below in the Assignments section

Debate: Microservices and Microkernals PDF here

Assignments

The assignments completed as part of the module, at week 6 and at week 11:

 

Assignment 1: Design

Group Contract PDF here

Design Document PDF here

Tutor Feedback PDF here

 

Assignment 2: Implementation

Documentation README here

Github Project Kanban Board

Codebase Repo Here

Presentation Slides Here

Security Scan Sonarqube Results

Tutor Feedback PDF here

Final Reflection

End of Module Reflection: My collected thoughts on the team project, our implementation of secure software development techniques and the lessons learned. Reflection here

Skills Matrix: Re-evaluation of my Skills at the end of the module PDF here


Etch-A-Sketch

Etch-a-Sketch: A single page web application written in HTML, CSS and Javascript.

Marketplace

Marketplace: An e-commerce web application written in Python using the Flask framework.